﻿using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq.Expressions;

namespace Library.Linq
{
    public interface IOrderedEnumerable : IEnumerable
    {
        [Pure]
        IEnumerable Input { get; }
        [Pure]
        LambdaExpression KeySelector { get; }
        [Pure]
        IComparer Comparer { get; }
        [Pure]
        LambdaExpression Comparison { get; }
    }

    public interface IOrderedEnumerable<out T> : IEnumerable<T>, IOrderedEnumerable { }
}
